/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package model.bean;

import java.util.List;
import view.common.MenuOpcion;

/**
 * @Archivo Usuario.java
 * @Fecha                @Autor   @Cambios
 * 21/01/2011 05:07:46 PM       jcamayo
 */
public class Usuario extends Bean {

    private Integer id;
    private String login;
    private String password;
    private String nombre;
    private String apellido;
    private Integer estado;
    private Tipo tipo;
    private Socio socio;
    private List<MenuOpcion> opciones;

    public Usuario() {
        tipo = new Tipo();
    }

    public Usuario(Integer id) {
        this.id = id;
    }

    /**
     * @return the id
     */
    public Integer getId() {
        return id;
    }

    /**
     * @param id the id to set
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * @return the login
     */
    public String getLogin() {
        return login;
    }

    /**
     * @param login the login to set
     */
    public void setLogin(String login) {
        this.login = login;
    }

    /**
     * @return the password
     */
    public String getPassword() {
        return password;
    }

    /**
     * @param password the password to set
     */
    public void setPassword(String password) {
        this.password = password;
    }

    /**
     * @return the nombre
     */
    public String getNombre() {
        return nombre;
    }

    /**
     * @param nombre the nombre to set
     */
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    /**
     * @return the apellido
     */
    public String getApellido() {
        return apellido;
    }

    /**
     * @param apellido the apellido to set
     */
    public void setApellido(String apellido) {
        this.apellido = apellido;
    }

    /**
     * @return the estado
     */
    public Integer getEstado() {
        return estado;
    }

    /**
     * @param estado the estado to set
     */
    public void setEstado(Integer estado) {
        this.estado = estado;
    }

    /**
     * @return the tipo
     */
    public Tipo getTipo() {
        return tipo;
    }

    /**
     * @param tipo the tipo to set
     */
    public void setTipo(Tipo tipo) {
        this.tipo = tipo;
    }

    public boolean getFlagAcceso(Integer opcionId) {
        List<NivelAcceso> accesos = tipo.getAccesos();
        for (NivelAcceso vo : accesos) {
            if (vo.getOpcion().getId().equals(opcionId)) {
                return true;
            }
        }
        return false;
    }

    public boolean getFlagAcceso(String accion) {
        List<NivelAcceso> accesos = tipo.getAccesos();
        for (NivelAcceso vo : accesos) {
            if (vo.getOpcion().getAccion() != null && vo.getOpcion().getAccion().equals(accion)) {
                return true;
            }
        }
        return false;
    }

    public List<MenuOpcion> getOpciones() {
        return opciones;
    }

    public void setOpciones(List<MenuOpcion> opciones) {
        this.opciones = opciones;
    }

    public Socio getSocio() {
        return socio;
    }

    public void setSocio(Socio socio) {
        this.socio = socio;
    }
}
